package cn.codergege.demo.config

import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.LocaleResolver
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer

/**
 * 不要加 @EnableWebMvc 注解, 一旦加了这个注解, 就完全由自己掌控 webmvc 的配置了.
 * Spring boot 的自动配置都会失效.
 * @author Codergege
 */
//@EnableWebMvc
@Configuration
class WebConfig: WebMvcConfigurer {

	/**
	 * 因为 spring boot 默认首页没有包含 templates 文件夹下的 index-bak.html,
	 * 而 thymeleaf 的 html 文件必须放在 templates 文件夹下, 所以这里做一下映射.
	 */

	override fun addViewControllers(registry: ViewControllerRegistry) {
		registry.addViewController("/").setViewName("index")
		registry.addViewController("/index.html").setViewName("index")
		registry.addViewController("/blank").setViewName("_blank")
	}

	@Bean
	fun localeResolver(): LocaleResolver {
		return MyLocaleResolver()
	}

	// 在 spring boot 中, ResourceBundleMessageSource 不需要自己配置了.
}
